package com.gimi.cloud.bbp.commonService.alipay;

import java.util.Map;

import com.alipay.api.AlipayApiException;
import com.alipay.api.AlipayClient;
import com.alipay.api.response.AlipayTradeQueryResponse;

/**
 * 支付宝相关服务
 * @author 李林峰
 * @version 1.0
 * @Description
 * @create 2018年1月30日
 */
public interface AliPayService {
	/**
	 * 支付宝交易查询 ，两个参数不能同时为空
	 * @param out_trade_no 商户订单号
	 * @param trade_no 支付宝流水号（优先级高）
	 * @return 
	 * @throws AlipayApiException
	 */
	AlipayTradeQueryResponse alipayTradeQuery(String out_trade_no, String trade_no) throws AlipayApiException;

	/**
	 * 创建支付宝请求客户端
	 * @return 支付宝请求客户端
	 */
	AlipayClient creatAlipayClient();

	/**
	 * 异步通知参数
	 * @param request
	 * @return 
	 * @throws AlipayApiException
	 */
	Map<String, String> alipayNotifyValidation(Map<String, String[]> requestParams) throws AlipayApiException;
}